import { screen } from 'electron';

const winPosition = {
  x: 0,
  y: 0,
  id: -1,
  // 获取当前光标所在的位置
 getPosition(): { x: number; y: number } {
    // 获取屏幕上当前光标的位置
    const { x, y } = screen.getCursorScreenPoint();
    // 获取与当前光标位置最接近的显示器信息
    const currentDisplay = screen.getDisplayNearestPoint({ x, y });
    
    // 如果当前显示器与之前记录的显示器ID不同，则更新显示器ID和窗口位置
    if (winPosition.id !== currentDisplay.id) {
      winPosition.id = currentDisplay.id;
      winPosition.x = parseInt(
        String(
          currentDisplay.workArea.x + currentDisplay.workArea.width / 2 - 400
        )
      );
      winPosition.y = parseInt(
        String(
          currentDisplay.workArea.y + currentDisplay.workArea.height / 2 - 200
        )
      );
    }
 
    // 返回当前光标所在的位置
    return { x, y };
  },
  // 设置位置
  setPosition(x: number, y: number): void {
    winPosition.x = x;
    winPosition.y = y;
  },
};

export default winPosition;
